package {{packageName}};

import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.media.Content;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.responses.ApiResponses;
{{#imports}}
{{.}}
{{/imports}}

@RestController
@RequestMapping("{{baseUrl}}")
@Tag(name = "{{{tagName}}}")
public class {{apiName}}{

{{#methods}}
    @Operation(summary = "{{summary}}"{{#description}}, description = "{{description}}"{{/description}})
    @{{httpMethod}}Mapping("{{url}}")
    public {{{response}}} {{methodName}}({{#bodyJsonVar}}@Valid @RequestBody {{{className}}} {{fieldName}}{{/bodyJsonVar}}{{#multiVars}}{{#file}}@RequestPart("{{fieldName}}") MultipartFile {{fieldName}}{{split}}{{/file}}{{^file}} @RequestParam(name = "{{fieldName}}" ,required = {{required}}) {{{fieldType}}} {{fieldName}}{{split}}{{/file}}{{/multiVars}}{{#pathVars}}@PathVariable(name = "{{fieldName}}" ,required = {{required}}) {{{fieldType}}} {{fieldName}}{{split}}{{/pathVars}}{{#urlVars}}@RequestParam(name = "{{fieldName}}" ,required = {{required}}) {{{fieldType}}} {{fieldName}}{{split}}{{/urlVars}}) {
        //call method...
    {{#responseValue}}
        return null;
    {{/responseValue}}
    }
{{/methods}}


}